import path from "path";
import { fileURLToPath } from "url";
import { BrowserWindow } from "electron";
import {mainWindowServer} from "./server.js";
import { createMainWindowMenu } from "./create-menu.js";
import { bindGlobalShortcut } from "./shortcut.js";
import { exposeIcpMainHandlerForWeb } from "./ipc-helper.js";

const __dirname = path.dirname(fileURLToPath(import.meta.url));
export const createMainWindow = () => {
  const mainWinOtp = { // 创建主应用窗口
    width: 1024,
    height: 576,
    show: true,
    devTools: true,
    webPreferences: {
      webSecurity: false, // 禁用同源策略，允许跨域
      preload: path.join(__dirname, "preload.js"), // 注入预加载文件（主进程和渲染进程沟通的桥梁[利用ipc]）
    },
  };
  const mainWin = new BrowserWindow(mainWinOtp);
  exposeIcpMainHandlerForWeb(mainWin); // 通知preload.js 注入ipcHandler到渲染进程中（preload.js利用contextBridge实现）
  bindGlobalShortcut(mainWin); // 注册窗口对应的快捷键
  // if (process.platform === "darwin") {
  //   createMainWindowMenu(mainWin); // 如果是macOS，还要保留原生菜单（如果你要用到自定义titleBar的话）
  // }
  mainWindowServer(mainWin); // 启动窗口加载页面功能（用户才能看到electron窗口中的内容）
  // mainWin.webContents.openDevTools({
  //   mode: "detach",
  // });
  return mainWin;
};